package com.mrd.gtimpframe.service;

import com.mrd.framework.config.web.json.Result;
import com.mrd.gtimp.base.entity.Company;
import com.mrd.gtimp.business.entity.RegisteredCompany;
import com.mrd.gtimpframe.base.BaseService;
import com.mrd.gtimpframe.entity.CompanyInfo;
import com.mrd.gtimpframe.entity.SuperCompanyInfo;

import java.util.List;
import java.util.Map;

import org.springframework.web.multipart.MultipartFile;

public interface CompanyInfoService extends BaseService {

    Result saveOrUpdate(CompanyInfo companyInfo);

    /**
     * 提交待审核
     */
    Result recessiveComSubmit(String comInfoId);

    /**
     * 保存上传附件
     */
    Result uploadCompanyAttachment(MultipartFile file, String comInfoId);

    /**
     * 查询所有客户资料信息
     *
     * @author han
     */
    List<CompanyInfo> selCompanyInfoChangeList(SuperCompanyInfo superCompanyInfo);

    /**
     * 通过系统公司 保存公司信息
     *
     * @param sysCom 系统公司
     */
    void saveComInfoFormSysCompany(Company sysCom, RegisteredCompany regCom);

    /**
     * 客户类型转换
     *
     * @author han
     */
    void changeCompanyInfoType(SuperCompanyInfo superCompanyInfo);

    /**
     * 根据统一社会信用代码获取公司信息
     */
    CompanyInfo selectByUnitCode(String unitCode);

    /**
     * 包含关系id、审核状态
     */
    CompanyInfo selectWithAduit(String comInfoId);
}
